1. Field of the Invention
The present invention relates to a method for an Automatic Repeat Request (ARQ) technique for communication systems.
2. Description of the Related Art
The quality of communication channels within communication systems determines the efficiency of the communication system. One measure of efficiency is the system's throughput. The throughput is the amount of information that is successfully transmitted and received in a communication system for a defined period of time. It is therefore a goal of service providers (owners and operators of communication systems) to have as many of their communication channels as possible operating at an acceptable throughput.
In wireless communication systems, the communication channels used by a subscriber of such a system are commonly known as the air interface. The air interface is used for the exchange of information between a mobile (e.g., cell phone) and a base station or other communication system equipment. The air interface comprises a plurality of communication channels. The quality of any one of the channels of the air interface varies. Thus, for example, any particular channel between the base station and a mobile may have an acceptable throughput at one instant and unacceptable throughput at another instant. Service providers not only want to maintain the throughput of their air interface at an acceptable level, but also want to increase the throughput as much as possible.
Many times the information transmitted through a relatively low quality communication channel is adversely affected to such an extent that the information contains errors when received. In an effort to increase the throughput of such channels, communication systems apply the technique of retransmission of information. Transmitting equipment retransmits the information to receiving equipment a certain number of times to increase the likelihood that the information, once received, contains no errors or contains an acceptable number of errors. The receiving equipment can be either system equipment such as a base station or subscriber equipment such as a cell phone. Similarly, the transmitting equipment can also be system equipment or subscriber equipment. System equipment is any equipment owned and operated by the service provider.
A widely used technique for the retransmission of information due to errors detected at the receiving equipment is called Automatic Retransmission Request (ARQ). The ARQ method is a technique of confirming that information transmitted through a communication channel has been received without any errors. Receiving equipment sends a message to transmitting equipment confirming that the transmitted information was received without errors. If the transmitted information was received with errors, the receiving equipment sends a message to the transmitting equipment asking the transmitter to retransmit the information. The transmitter can retransmit all or part of the previously transmitted information using the same or different channel coding.
ARQ is typically used in concert with channel coding. Channel coding is the creation of redundancy in the transmitted information to allow receiving equipment to check as well as correct for errors. Also, the receiving equipment performs a corresponding decoding operation to obtain the information. The decoding operation is performed by a decoder. Two of the main ARQ methods are the Selective Retransmit (SR) protocol and the Stop-and-Wait protocol. In both SR ARQ and Stop-and-Wait ARQ, the concept of Incremental Redundancy (IR) is used. Incremental Redundancy (IR) and/or soft combining, are techniques used to improve the efficiency of ARQ. In IR, the receiving equipment attempts to combine, in the decoder, retransmitted information along with earlier transmissions of the same information that used the same or different coding. The decoding of combined information improves the performance of the decoding operation and increases the likelihood of successful decoding; decoding of combined information reduces the number of retransmissions that would be required to successfully receive the transmitted information. In the prior art, IR schemes that operate with SR ARQ and with Stop-and-Wait ARQ have been defined.
In the IR scheme operating with SR ARQ, data is typically encoded, formatted and packaged as packets comprising payload, header and trailer portions. The trailer and header portions are overhead in that they do not contain subscriber information; they contain information identifying the subscriber (i.e., identification information) and information on how to process the packet (i.e., process information). The information identifying the particular subscriber from whom the information in the payload of the packet originated is kept in the header. Also, the header contains information on how to soft combine, at the decoder, the received packets so as to properly decode the payload information.
An arbitrary number of copies of each block of information can be sent so that the original information can be derived from one or from a combination of the received packets of information. Different subscribers can transmit different amounts of information and at different rates. As described above, however, much information is needed to describe how the information is to be processed once it is received. The SR protocol is not bandwidth efficient because of the excessive overhead information. However, without the use of the header information, the receiving equipment is not able to identify, and properly combine and decode the received packets of information. To reduce the likelihood that the header information is contaminated resulting in errors, the header portion of the packets is heavily coded. The heavy coding is more robust coding that requires more redundancy to be added to the header information. Thus, the heavy coding creates even more overhead which reduces the throughput of the communication channels thus reducing the efficiency of the communication system.
In the IR scheme with Stop-and-Wait ARQ protocol, a block of information is coded into n packets where n is an integer equal to 2 or greater. Each one of the packets by itself or in combination with another packet or a portion of another packet can be used to decode the original block of information. One or more of the packets are transmitted during a time slot(s) assigned to a particular subscriber. The transmitted packets are received and decoded. If the decoding was successful (i.e., no errors detected or an acceptable number of errors detected), the receiving equipment transmits an ACK (ACKnowledge) message to the transmitting equipment indicating that the information was properly decoded and that a new block of information can be transmitted. If the decoding was unsuccessful (i.e., error detected or an unacceptable number of errors detected), the receiving equipment transmits a NACK (Negative ACKnowledge) which is an indication to the transmitting equipment to retransmit another group of packets (or another single packet) representing the same block of information. The ACK message is thus an example of a positive confirmation message and the NACK message is an example of a negative confirmation message. Upon reception of a NACK message the receiving equipment stores the received error-containing packet. The receiving equipment will attempt to combine this stored packet with subsequent repeat packet transmissions for the same block of information, to properly decode the information within such block. The ACK or NACK confirmation messages are hereinafter referred to as the ACK/NACK messages.
The receiving equipment transmits the ACK/NACK message following the reception of a packet in a particular time slot assigned to a subscriber. Thus, the ACK/NACK messages are transmitted in accordance with a particular timing relationship to the packet reception. The transmit equipment associates a particular ACK/NACK message with a particular packet transmission based on the time slot or the time period within which such a message was received. For example, an ACK/NACK message received during slot period m corresponds to a packet transmission in slot m-k, where k represents a particular number (including fractions of time slots) of time slots which is fixed by the communication system; m is an integer equal to 1 or greater an k is a number greater than zero. The number of time slots represented by k is a roundtrip delay for transmitting equipment representing the time elapsed between a transmission of a packet and the reception of a responding ACK/NACK message.
Upon receipt of a NACK (in a particular time slot) in response to a packet transmission, the transmitting equipment transmits a repeat packet representing the same block of information. The transmitting equipment transmits the repeat packet transmission a certain number of time slots following the receipt of the ACK/NACK message. Thus, the repeat packet is transmitted in accordance with a particular timing relationship to the received ACK/NACK message.
The receive equipment associates a particular repeat packet transmission with a ACK/NACK message based on the time slot or the time period within which such a message was received. For example, a repeat packet transmission received during slot period n corresponds to a ACK/NACK message transmitted in slot n-j, where j represents a certain number (including fractions of time slots) of time slots which is fixed by the communication system; n is an integer equal to 1 or greater and j is a number greater than zero. The number of time slots represented by j is a roundtrip delay for receiving equipment representing the time elapsed between the transmission of an ACK/NACK message and the reception of a repeat packet. Therefore, there is no need to transmit identification information in the headers of the packets because the packets can be identified and soft combined based on the time slot in which they were received.
The Stop-and-Wait protocol in the prior art is thus a Synchronous Protocol in that the repeat packet transmission are transmitted within a strict timing relationship (defined by the communication system) between transmitting equipment and receiving equipment. Consecutive packet transmissions of the same block of data are separated by a time period usually expressed in terms of number of slots where such time period is constant. In sum, when a transmission is made, an ACK/NACK message indicating a NACK (or ACK) followed by a repeated packet transmission (or a new packet transmission) must be transmitted a certain fixed number of slots later.
The Stop-and-Wait protocol as implemented in the prior art, has several drawbacks stemming from its synchronous nature and the manner in which it is typically implemented. Because of the strict timing relationship imposed on the transmissions, it is very difficult to accommodate different subscribers having different transmission rates or different roundtrip delays. Subscribers having different transmission rates transmit (or receive) information within different number of assigned consecutive time slots. For example, some subscribers use three time slots to transmit (or receive) their block of information while others use only one time slot. The transmission roundtrip delay is the amount of time elapsed between consecutive transmission of packets or group of packets. In the Stop-and-Wait protocol, the transmission roundtrip delay is kept fixed.
When a packet associated with a particular subscriber is transmitted, the transmitting equipment expects to receive an ACK or NACK within a certain number of time slots later, i.e., the ACK/NACK messages have a fixed roundtrip delay. Once the transmitting equipment receives the ACK/NACK message it transmits a new packet or transmits a repeat packet, i.e., a packet containing previously transmitted information. During the time period between transmissions, other transmissions (associated with other subscribers) can occur. However, due to a fixed transmission roundtrip delay, once the number of slots equaling the transmission roundtrip delay has elapsed, the next slot must be used for a new packet or a repeat packet transmission because the slot is reserved for such purpose. In other words, the other transmissions must be completed prior to the occurrence of the time slot reserved for the transmission of packets associated with a particular subscriber. The transmitting equipment is thus constrained to transmitting packets at predefined times for a particular subscriber. The constraint on time of transmission removes a great amount of flexibility from the transmitting equipment to transmit information during times of favorable channel conditions. Many communication systems have the capability to monitor the quality of their communication channels. It would be desirable for the transmitting equipment to either postpone or delay the transmission of information through a particular channel until that channel has favorable conditions. In this manner, the communication system can improve its throughput. However, because of the strict timing relationship imposed by the Stop-and-Wait protocol, the transmitting equipment, many times, is unable to take advantage of favorable channel conditions.
Another drawback with the Stop-and-Wait protocol is that it is not adaptable to changing channel conditions because the number of initial transmissions or retransmissions is fixed. In many cases the quality of a communication channel is such that a relatively large number of attempts, i.e., retransmissions, is needed to transmit an initial packet successfully. Depending on the channel conditions, the number of transmissions necessary to successfully transmit a packet may be more than what is allocated for that packet. When the number of attempts surpasses the number allocated, the subscriber is either dropped from the system or the block of information containing errors is accepted raising the error rate of the communication channel.
Therefore, what is needed is an ARQ technique that accommodates different subscribers having different transmission rates, different information lengths and different roundtrip delays. What is further needed is an ARQ technique which allows the transmitting equipment to schedule its transmissions during favorable channel conditions whenever possible so as to increase the throughput of that channel and thus the overall throughput of the communication system.